package com.micro.modual.model.bo.order;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

                    import java.util.Date;
                                                            import java.math.BigDecimal;
        
/**
 * <h1>订单基础表表 新增/修改 请求对象</h1>
 * @author LevelCoder
 * @version V1.0.0
 * @email LevelCoder@126.com
 * @date 2020-08-04 00:11:10
 */
@ApiModel(description = "订单基础表新增/修改 请求对象")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class OrderBO {

            /**
         * 
         */
        @ApiModelProperty(value = "")
        private Long id;
            /**
         * 订单编号
         */
        @ApiModelProperty(value = "订单编号")
        private String orderCode;
            /**
         * 订单类别
         */
        @ApiModelProperty(value = "订单类别")
        private String orderType;
            /**
         * 创建时间
         */
        @ApiModelProperty(value = "创建时间")
        private Date createTime;
            /**
         * 完成时间
         */
        @ApiModelProperty(value = "完成时间")
        private Date finishTime;
            /**
         * 支付时间
         */
        @ApiModelProperty(value = "支付时间")
        private Date payTime;
            /**
         * 发货时间
         */
        @ApiModelProperty(value = "发货时间")
        private Date deliveryTime;
            /**
         * 关闭时间
         */
        @ApiModelProperty(value = "关闭时间")
        private Date closeTime;
            /**
         * 订单状态
         */
        @ApiModelProperty(value = "订单状态")
        private Byte orderStatus;
            /**
         * 订单备注
         */
        @ApiModelProperty(value = "订单备注")
        private String orderRemark;
            /**
         * 订单商品总数
         */
        @ApiModelProperty(value = "订单商品总数")
        private Integer orderGoodsTotalNumber;
            /**
         * 邮费
         */
        @ApiModelProperty(value = "邮费")
        private BigDecimal orderPostage;
            /**
         * 订单总金额:指订单商品总金额,不包含邮费和优惠金额
         */
        @ApiModelProperty(value = "订单总金额:指订单商品总金额,不包含邮费和优惠金额")
        private BigDecimal orderTotalPrice;
            /**
         * 订单优惠总金额
         */
        @ApiModelProperty(value = "订单优惠总金额")
        private BigDecimal orderTotalDiscountPrice;
            /**
         * 支付方式 1.支付宝 2.微信 3.银联 4.钱包 5.混合
         */
        @ApiModelProperty(value = "支付方式 1.支付宝 2.微信 3.银联 4.钱包 5.混合")
        private Byte payType;
            /**
         * 订单来源  网页:pc、 安卓:android、 苹果:ios、 M站:m、公众号:common、 小程序:small、 安卓平板:android_ipad、苹果平板:ios_ipad
         */
        @ApiModelProperty(value = "订单来源  网页:pc、 安卓:android、 苹果:ios、 M站:m、公众号:common、 小程序:small、 安卓平板:android_ipad、苹果平板:ios_ipad")
        private String orderSourceType;
            /**
         * 用户编号
         */
        @ApiModelProperty(value = "用户编号")
        private String userCode;
            /**
         * 关闭原因
         */
        @ApiModelProperty(value = "关闭原因")
        private String closeDesc;
            /**
         * 支付回调流水号
         */
        @ApiModelProperty(value = "支付回调流水号")
        private String returnPayNo;
            /**
         * 订单有效性 1.有效 2删除 主要面对用户主动删除标志
         */
        @ApiModelProperty(value = "订单有效性 1.有效 2删除 主要面对用户主动删除标志")
        private Byte orderEffectiveStatus;
            /**
         * 收货人名称
         */
        @ApiModelProperty(value = "收货人名称")
        private String receiverName;
            /**
         * 收件人手机号
         */
        @ApiModelProperty(value = "收件人手机号")
        private String receiverPhone;
            /**
         * 省份名称
         */
        @ApiModelProperty(value = "省份名称")
        private String provinceName;
            /**
         * 城市名称
         */
        @ApiModelProperty(value = "城市名称")
        private String cityName;
            /**
         * 区域名称
         */
        @ApiModelProperty(value = "区域名称")
        private String areaName;
            /**
         * 具体地址
         */
        @ApiModelProperty(value = "具体地址")
        private String orderAddress;
            /**
         * 订单实际应付金额
         */
        @ApiModelProperty(value = "订单实际应付金额")
        private BigDecimal orderActualPrice;
            /**
         * 提取方式 1.快递 2.包邮 3.自提
         */
        @ApiModelProperty(value = "提取方式 1.快递 2.包邮 3.自提")
        private Byte extractionType;
            /**
         * 订单更新时间
         */
        @ApiModelProperty(value = "订单更新时间")
        private Date updateTime;
            /**
         * 物流名称
         */
        @ApiModelProperty(value = "物流名称")
        private String expressName;
            /**
         * 物流单号
         */
        @ApiModelProperty(value = "物流单号")
        private String expressNo;
            /**
         * 评论状态 1.已评论 2.未评论
         */
        @ApiModelProperty(value = "评论状态 1.已评论 2.未评论")
        private Byte commentStatus;
            /**
         * 是否包含 眼镜指需要用户提供眼镜度数的眼镜 1.是 2.否
         */
        @ApiModelProperty(value = "是否包含 眼镜指需要用户提供眼镜度数的眼镜 1.是 2.否")
        private Byte includingGlasses;
            /**
         * 用户视力详情,通过JSON存储,仅当订单中存在眼镜商品时候存在
         */
        @ApiModelProperty(value = "用户视力详情,通过JSON存储,仅当订单中存在眼镜商品时候存在")
        private String userEyesDetail;
    }
